#---
# title: "CSC 171 - Lab 7"
# author: "Student Name"
# output: word_document
#---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

### Instructions

In this lab, you will begin to get oriented with R and work with some data. 

#### How to **complete** this assignment.

* Attempt each exercise in order.

* In each code chunk, if you see "<font color="789922"># INSERT CODE HERE"</font>, then you are expected to add some code to create the intended output (Make sure to erase "# INSERT CODE HERE" and place your code in its place).

* If my instructions say to "Run the code below..." then you do not need to add any code to the chunk. 

* Many exercises may require you to type some text below the code chunk, interpreting the output and answering the questions. 

* Please follow the Davidson Honor Code and rules from the course syllabus regarding seeking help with this assignment.

#### How to **submit** this assignment.

* When you are finished, click the "Knit" button at the top of this panel. If there are no errors, an word file should pop up after a few seconds.

* Take a look at the resulting word file that pops up. Make sure everything looks correct, your name is listed at the top, and that there is no 'junk' code or output. 

* Save the word file (to your local computer, and/or to a cloud location) as: **Lab 7 "Insert Your Name"**.

* Use [this link](https://forms.gle/mF6pScw8XXvMTtJZ8) to upload your word file to my Google Drive folder. **Do not** upload the original .Rmd version. 

* This assignment is <font color="darkred">**due Thursday, July 28, 2022, no later than 9:30 am Eastern**</font>. Points will be deducted for late submissions. 

* <font color="darkblue">TIP:</font> Start early so that you can troubleshoot any issues with knitting to word. 

#### Grading Rubric

There are 6 possible points on this assignment.

**Baseline (C level work)**

- Your .Rmd file knits to word without errors.
- You answer questions correctly but do not use complete sentences.
- There are typos and 'junk code' throughout the document.
- You do not put much thought or effort into the Reflection answers.

**Average (B level work)**

- You use complete sentences to answer questions. 
- You attempt every exercise/question. 

**Advanced (A level work)**

- Your code is simple and concise.
- Unnecessary messages from R are hidden from being displayed in the word.
- Your document is typo-free.
- At the discretion of the instructor, you give exceptionally thoughtful or insightful responses.

---


#### **Exercise 1. (6 points)** 

This problem involves the `OJ` data set which is part of the `ISLR2` package.


(A) Create a training set containing a random sample of 800 observations, and a test set containing the remaining observations.

(B) Fit a tree to the training data, with Purchase as the response and the other variables as predictors. Use the `summary()` function to produce summary statistics about the tree, and describe the results obtained. What is the training error rate? How many terminal nodes does the tree have?

(C) Type in the name of the tree object in order to get a detailed text output. Pick one of the terminal nodes, and interpret the information displayed.

(D) Create a plot of the tree, and interpret the results.

(E) Predict the response on the test data, and produce a confusion matrix comparing the test labels to the predicted test labels. What is the test error rate?

(F) Apply the `cv.tree()` function to the training set in order to determine the optimal tree size.

(G) Produce a plot with tree size on the x-axis and cross-validated classification error rate on the y-axis.

(H) Which tree size corresponds to the lowest cross-validated classification error rate?

(I) Produce a pruned tree corresponding to the optimal tree size obtained using cross-validation. If cross-validation does not lead to selection of a pruned tree, then create a pruned tree with five terminal nodes.

(J) Compare the training error rates between the pruned and un- pruned trees. Which is higher?

(K) Compare the test error rates between the pruned and unpruned trees. Which is higher?


```{r}
#insert code here
```

<font color="darkred">**ANSWER:**</font>

